def tg(x, y): return x//3, y//3

# 为真代表可走
def pg(x, y, n):
    tx, ty = tg(x, y)
    # 必须都满足才真的可走
    return n, hang[x][n] and lie[y][n] and gong[tx][ty][n]

# x, y放上数字n后，对应的地方就不能放数字n了。
def put(x, y, n):
    tx, ty = tg(x, y)
    hang[x][n], lie[y][n], gong[tx][ty][n] = False, False, False

# x, y取下数字n后，就都可以放数字n了。
def get(x, y, n):
    tx, ty = tg(x, y)
    hang[x][n], lie[y][n], gong[tx][ty][n] = True, True, True

def dfs(x, y, s):
    if y == 9:
        x += 1
        y = 0
    if x == 9:
        global mx
        mx = max(mx, s)
        return
    if m[x][y] > 0:
        dfs(x, y + 1, s + m[x][y] * f[x][y])
        return
    # emmmm,我把这里改成for i in range(1, 10): if pg(x, y, i)啥的之后，竟然还不如现在的写法用时短
    # 我之前还以为是我这个奇葩的写法占时间了呢。。
    # can = [*filter(lambda a:a[1],map(pg, [x] * 9, [y] * 9, [i for i in range(1, 10)]))]
    # 那就优化一下吧，虽然应该没有什么用。。
    can = [*filter(lambda a:a[1],map(pg, tolistnine[x], tolistnine[y], onetonine))]
    if len(can) == 0: return
    for i in can:
        m1[x][y]=i[0]
        put(x, y, i[0])
        dfs(x, y + 1, s + i[0] * f[x][y])
        m1[x][y]=0
        get(x, y, i[0])

# 奇怪的优化增加了
tolistnine = [[i] * 9 for i in range(9)]
onetonine = [i for i in range(1, 10)]
# 3*3九个小格中1-9每个数是否没出现过
gong = [[[True for k in range(10)] for j in range(3)] for i in range(3)]
# 9行每行1-9每个数是否没出现过
hang = [[True for j in range(10)] for i in range(9)]
# 9列每列1-9每个数是否没出现过
lie = [[True for j in range(10)] for i in range(9)]
# 每个位置的分数
f = [[0 for j in range(9)] for i in range(9)]
for i in range(9):
    ti = 4-abs(4-i)
    for j in range(9):
        tj = 4-abs(4-j)
        if ti == 4 and tj == 4: f[i][j] = 10
        elif ti >= 3 and tj >= 3: f[i][j] = 9
        elif ti >= 2 and tj >= 2: f[i][j] = 8
        elif ti >= 1 and tj >= 1: f[i][j] = 7
        else: f[i][j] = 6
# 固定数字，不可变之初始地图
m = [0 for i in range(9)]
m1 = [m.copy() for i in range(9)]
for i in range(9):
    m[i] = [*map(int, input().split())]
    for j in range(9):
        t = m[i][j]
        m1[i][j]=t
        if t > 0:
            x, y = tg(i, j)
            # print(i,t)
            hang[i][t] = False
            lie[j][t] = False
            gong[x][y][t] = False
'''
# 输出测试
print(hang[1],"\n",hang[2])
print(lie[1])
print(gong[0][0])
'''
mx = -1
dfs(0, 0, 0)
print(mx)
'''
果然python超时了。。
'''
# -------------------------------------------------------------------------------

# 比赛环境为python3.8.6版本自带的IDLE，最好早点熟悉一下。。这个东西的提示时有时无

# 菜单栏最右边的Help的Python Docs 比赛时候也可以看，不过建议还是提前多了解了解，

# 比赛的时候至少知道在文档找什么能用的上。

# IDLE是下载Python时自带的，在按住win+s搜索IDLE就能搜到了。

# 然后点左上角的File可以创建新文件，然后按F5可以运行。
